<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  function Fn(){}

  function Fun(){}

  Fun.prototype = new Fn();

  const fn = new Fn();

  const fun = new Fun();

  // console.log(fun === Fn.prototype)
  // console.log(fun.__proto__ === Fn.prototype)
  // console.log(fun.__proto__.__proto__ === Fn.prototype)


  console.log( fun instanceof Fn );
  console.log( Fn.prototype.isPrototypeOf(fun) );
  
  console.log( fn instanceof Fun );
  console.log( Fun.prototype.isPrototypeOf(fn) );
  
  console.log( fun instanceof Fun );
  console.log( Fun.prototype.isPrototypeOf(fun) );
  
  console.log( fun instanceof Object );
  console.log( Object.prototype.isPrototypeOf(fun) );  
  
  console.log( fn instanceof Object );
  console.log( Object.prototype.isPrototypeOf(fn) );  
  
  console.log( Fn instanceof Object );
  console.log( Object.prototype.isPrototypeOf(Fn) );  

  console.log( Fun instanceof Object );
  console.log( Object.prototype.isPrototypeOf(Fun) );  


  console.log( [] instanceof Array );
  console.log( {} instanceof Array );
  console.log( new String("hello") instanceof String );
  console.log( /a/ instanceof RegExp );
  console.log( [] instanceof RegExp );
  console.log( new Date() instanceof Date );



</script>
</html>